#ifndef EVAL_H_
#define EVAL_H_

#include <unordered_map>

struct Coordinate {
    int x, y;
};

typedef std::unordered_map<int, Coordinate> Positions;
typedef int Board[9][10];

struct PieceInfo {
    int point;
    int unitMoveBonus;
    int positionBonus[9][10];
};

class Eval {
public:
    Eval();
    virtual ~Eval();
    int Evaluate(const Board board, const Positions & positions);

private:
    std::unordered_map<char, PieceInfo> infos;

    int GetScore(const Board board, Coordinate c);
};


#endif
